1. Technical Field
The present invention relates generally to the field of computer systems and, more specifically, to a method, system, and computer program product for estimating the number of consumers that place a load on an individual resource that belongs to a pool of resources that are physically distributed throughout a semiconductor substrate within a data processing system.
2. Description of Related Art
Current data processing systems typically have a uniform environment where all memory is physically equidistant from each processor in the system. In these systems, all of the processors take the same amount of time to access each memory location. In order to make programming decisions regarding how to manage the memory in the system, all processors may be considered by the system to be consumers of all of the memory resources in the system.
Some systems, however, have system memory that is distributed throughout the semiconductor substrate in physically separate memory banks. The distributed memory banks will each have different access times for different groups of processors. Thus, a processor will have a different access time for one memory bank in comparison to another memory bank. A memory request by a processor can be satisfied from any memory bank. In the management of distributed system memory, programming decisions have to be made on a bank by bank basis. It cannot be assumed that the load on each memory bank comes from all of the processors in the system. Further, it also cannot be assumed that only the processors that are physically closest to a particular memory bank will be the only ones to place a load on that memory bank.
Therefore, a need exists for a method, system, and computer program product for estimating the number of consumers that place a load on an individual resource in a pool of resources that are physically distributed through a data processing system.